package com.xmtlxx.oms.domain.vo;

import com.xmtlxx.common.annotation.ExcelDictFormat;
import com.xmtlxx.common.convert.ExcelDictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.xmtlxx.system.domain.SysOss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;


/**
 * 箱子视图对象 t_box
 *
 * @author xmtlxx
 * @date 2022-12-07
 */
@Data
@ApiModel("箱子视图对象")
@ExcelIgnoreUnannotated
public class BoxVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    @ApiModelProperty("主键ID")
    private String id;

    /**
     * 箱号
     */
    @ExcelProperty(value = "箱号")
    @ApiModelProperty("箱号")
    private String boxNo;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "box_type")
    @ApiModelProperty("类型")
    private String type;

    /**
     * 当前所在部门
     */
    @ExcelProperty(value = "当前所在部门")
    @ApiModelProperty("当前所在部门")
    private Long deptId;

    /**
     * 创建部门
     */
    @ExcelProperty(value = "创建部门")
    @ApiModelProperty("创建部门")
    private Long createDept;

    /**
     * 型号
     */
    @ExcelProperty(value = "型号")
    @ApiModelProperty("型号")
    private String model;

    /**
     * 规格
     */
    @ExcelProperty(value = "规格")
    @ApiModelProperty("规格")
    private String specs;

    /**
     * 用途
     */
    @ExcelProperty(value = "用途")
    @ApiModelProperty("用途")
    private String purpose;

    /**
     * 状态(0-待使用,1-已使用)
     */
    @ExcelProperty(value = "状态(0-待使用,1-已使用)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "box_status")
    @ApiModelProperty("状态(0-待使用,1-已使用)")
    private String status;

    @ApiModelProperty("排序")
    private Integer seq;


    private Integer startNo;

    private Integer endNo;

    private String deptName;

    private String createDeptName;

    /**
     * 货箱名称
     */
    @ApiModelProperty("货箱名称")
    private String name;

    /**
     * RFID
     */
    @ApiModelProperty("RFID")
    private String rfid;
    /**
     * 附件
     */
    @ApiModelProperty("附件")
    private String pics;

    private List<SysOss> oss;
}
